package com.shlh.saas.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shlh.saas.entity.User;
import java.math.BigDecimal;

/**
 * 用户服务接口
 */
public interface UserService extends IService<User> {
    User findByUsername(String username);
    User findByPhone(String phone);
    boolean register(User user);
    boolean updatePassword(Long userId, String newPassword);
    boolean createUserByPhone(String phone);
    
    /**
     * 根据用户ID获取用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    User getUserById(Long userId);
    
    /**
     * 根据手机号获取用户信息
     * @param phone 手机号
     * @return 用户信息
     */
    User getUserByPhone(String phone);
    
    /**
     * 更新用户信息
     * @param user 用户信息
     * @return 是否成功
     */
    boolean updateUser(User user);
    
    /**
     * 购买导出次数
     * @param userId 用户ID
     * @param amount 购买数量
     * @param totalPrice 总价
     * @return 是否成功
     */
    boolean buyExportQuota(Long userId, Integer amount, BigDecimal totalPrice);
    
    /**
     * 购买查看更多次数
     * @param userId 用户ID
     * @param amount 购买数量
     * @param totalPrice 总价
     * @return 是否成功
     */
    boolean buySearchQuota(Long userId, Integer amount, BigDecimal totalPrice);
} 